﻿using Company.IO.Interfaces;
using Company.System.IO.IntegrationTests.Properties;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace Company.System.IO.IntegrationTests
{
    public partial class DirectoryTest : TestBase<IDirectory>
    {
        private const string _SDeleteMethodname = "Delete";

        [TestMethod]
        public void Delete_PathNull_ArgumentNullException()
        {
            PathNull_ArgumentNullException(_SDeleteMethodname);
        }

        [TestMethod]
        public void Delete_PathEmpty_ArgumentException()
        {
            PathEmpty_ArgumentException(_SDeleteMethodname);
        }

        [TestMethod]
        public void Delete_PathContaisOnlyWhitespace_ArgumentException()
        {
            PathContaisOnlyWhitespace_ArgumentException(_SDeleteMethodname);
        }

        [TestMethod]
        public void Delete_PathContaisOnlyColonChar_ArgumentException()
        {
            PathContaisOnlyColonChar_ArgumentException(_SDeleteMethodname);
        }

        [TestMethod]
        public void Delete_PathContaisInvalidPathChar_ArgumentException()
        {
            PathContaisInvalidPathChar_ArgumentException(_SDeleteMethodname);
        }

        [TestMethod]
        public void Delete_UnknownDirectory_DirectoryNotFoundException()
        {
            PathUnknown_DirectoryNotFoundException(_SEnumerateDirectoriesMethodName, Resources.PathTooLong);
        }
    }
}